# -*- coding: utf-8 -*-
# @Time    : 2025/6/15 14:55
# @Author  : XinHuang
# @Email   : SA24231052@mail.ustc.edu.cn
# @File    : file
# @Software: PyCharm
import os
import pandas as pd


def get_filenames(folder_path):
    """
    获取指定文件夹下的所有文件名
    :param folder_path: 指定的文件夹路径
    :return: 文件名列表
    """
    if not os.path.exists(folder_path):
        print(f"文件夹 {folder_path} 不存在！")  # 检查文件夹是否存在
        return []
    items = os.listdir(folder_path)  # 获取文件夹中的所有项目
    filenames = [item for item in items if os.path.isfile(os.path.join(folder_path, item))]  # 筛选出文件名
    return filenames


def read_excel(file):
    """
    获取excel文件中所有表格的内容
    :param file: 文件名
    :return:
    """
    df = []
    if file.endswith('.xlsx') or file.endswith('.xls'):  # 检查文件扩展名是否为Excel文件（.xlsx 或 .xls）
        try:
            with pd.ExcelFile(file) as xls:  # 使用pandas读取Excel文件中的所有表格，使用with避免读取完成后仍占用的问题
                for i,sheet_name in enumerate(xls.sheet_names):  # 遍历Excel文件中的所有表格
                    temp = pd.read_excel(xls, sheet_name=sheet_name)
                    if temp.empty:
                        print(f"表格 {sheet_name} 是空的，跳过。")  # 检查表格是否为空
                        continue
                    df.append(temp)
        except Exception as e:
            print(f"读取文件 {file} 时发生错误：{e}")
            return None
    return df
